package com.sgl.blog.service;

import com.github.pagehelper.PageInfo;
import com.sgl.blog.pojo.BlogArticle;

import java.util.List;
import java.util.Map;

/**
 * 简介： 处理博客业务类
 * 作者： 李志伟
 * 日期： 2020/4/3
 * 时间： 20:20
 */
public interface ArticleService {

    /**
     * 添加博客
     * @param article 博客信息
     * @return 添加成功与否
     */
    Boolean insertBlog(BlogArticle article);


    /**
     * 修改博客
     * @param article 博客信息
     * @return 添加成功与否
     */
    Boolean updateBlog(BlogArticle article);

    /**
     * 删除博客
     * @param blogArticle 博客信息
     * @return 删除成功与否
     */
    Boolean removeBlog(BlogArticle blogArticle);

    /**
     * 根据id查找博客
     * @param id 博客id
     * @return 找到的博客信息
     */
    Map<String,Object> findBlogById(Integer id);

    /**
     * 根据页数查找博客 一页8篇
     * @param page 博客页
     * @return 找到的此页博客信息
     */
    PageInfo<BlogArticle> findBlogByPage(Integer page);

    List<BlogArticle> findBlogByAccount(Integer accountId);


    void likesCountPlus(Integer id);

    void likesCountSub(Integer id);

    List<BlogArticle> findHotBlogByType(Integer typeId);

    /**
     * 评论总数+1
     * @param id
     */
    void commentCountPlus(Integer id);

    /**
     * 修改状态
     * @param id 博客id
     */
    void updateState(Integer id);
}
